package main

import (
	"context"
	"fmt"
	"time"
)

func main() {
	ctx := context.WithValue(context.Background(), "k1", "v1")
	ctx2 := context.WithValue(ctx, "k2", "v2")
	ctx3 := context.WithValue(ctx2, "k3", "v3")
	go func(ctx context.Context) {
		//如果key相同，那么对于每个实例，仅能获得自己设置的键值对
		fmt.Println(ctx.Value("k1"))
		fmt.Println(ctx.Value("k2"))
		fmt.Println(ctx.Value("k3"))
	}(ctx3)
	time.Sleep(1 * time.Second)
}
